The present invention relates to Basic Input/Output System (BIOS). More particularly, the invention relates to communication between the video BIOS and the graphics drivers.
The video Basic Input/Output System (BIOS) must operate with a variety of operating systems and versions of operating systems. But display switching requirements and capabilities of these operating systems, for example, are often conflicting. To alleviate these conflicting requirements and capabilities, display switching in the video BIOS may be restricted to a subset of functions common to all operating systems. However, the video BIOS may not be able to ascertain what operating system (OS) is loaded on the system (if any). The video BIOS may not be able to query operating systems directly because graphics drivers do not run in System Management Mode (SMM). Moreover, because the video BIOS is called in the (SMM), the video BIOS may not be able to communicate with driver software when the video BIOS is called for display configuration. Further, it may not be safe for the video BIOS to write to memory that is driver-readable on exit from SMM. For example, since the video BIOS has no knowledge of how the memory is used by the driver software, it may not be practical for the video BIOS to read memory which was written by graphics drivers. Once the operating system has been loaded, the video BIOS often does not have access to local memory or graphics-mapped system memory.